Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■PCI-Cバスブリッジ
対象	PCIバス搭載機種
解説  o PCIバス搭載機種では、従来のCバスとのブリッヂのためにPCI-Cバスブリッヂ
	デバイスをPCIバス上に搭載している。
      o PCIバス非搭載機種では通常のI/Oポートによって行う操作のうち、例えば
	メモリ関係のものなどは、PCIバス搭載機種では多くの場合PCI-Cバスブリッ
	ヂのPCIコンフィギュレーションレジスタの操作によって行われる。
      o PCI-Cバスデバイスはサブトラクティブデコーディングを行い、PCIバス内で
	応答のなかったバスサイクルをCバス側へフォワーディングする。
      u PCI-Cバスブリッヂは機種ごとによってその実装が大きく異なっていると考え
	られる。PCIコンフィギュレーションレジスタの互換性は保証されていない。
	ここでは参考のためにPC-9821XaのPCI-CバスブリッヂのPCIコンフィギュレー
	ションレジスタの一部の解析結果を示すが、本来PCIコンフィギュレーション
	レジスタはITF,BIOSによって設定されたものをアプリケーションプログラム
	が操作するべきではない。ハードウェアよりの設定の多くも存在するため、
	不必要な操作はシステムを不安定に可能性がある。
関連	I/O 0CF8h(BYTE),0CF9h(BYTE),0CFAh(BYTE),0CFBh(BYTE)
	I/O 0CF8h(DWORD)
	I/O 0CFCh
ベンダID	1033h(NEC)
デバイスID	0001h
ベースクラス	06h(ブリッヂデバイス)
サブクラス	80h(PCI-ローカルバスブリッヂ)
-------------------------------------------------------------------------------
PCI	40h
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜0: 不明
		* 初期化時に00hが設定される
解説  o 詳細不明
PCI	41h
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜0: 不明
		* 初期化時に10hが設定される
解説  o 詳細不明
PCI	42h
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜0: 不明
		* 初期化時に00hが設定される
解説  o 詳細不明
PCI	43h
名前	メモリ上限値
	Undocumented
機能
	[READ/WRITE]
	bit 7〜0: 不明
解説  o ローカルバスに出力するメモリアドレスの最大値を設定する。
      o 詳細不明
PCI	44h
名前	16MBシステム空間
	Undocumented
機能
	[READ/WRITE]
	bit 7,6: 不明
	bit 5: 16MBシステム空間の用途
		1= 通常のRAM
		0= 16MBシステム空間として使用
	bit 4〜2: 不明
	bit 1: Write Enable For 00080000〜0009FFFFh
	bit 0: Read Enable For 00080000〜0009FFFFh
		11b= 読み書き可
		10b= 書き込み可,読み込み不可
		01b= 書き込み不可,読み込み可
		00b= 読み書き不可
		
解説  o PCI-Cバスブリッヂ回路が、16MBシステム空間(00F00000〜00FFFFFFh)や、
	8,9バンク(00080000〜0009FFFFh)に対するアクセスに応答するかどうかを
	設定する。
関連	I/O 7FDBh bit 6
	I/O 043Bh
	PCMC 59h bit 3〜0
	PCMC 78h
PCI	45〜47h
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7: WE(WriteEnable)
		1= 書き込み可能
		0= 書き込み不可
	bit 6: RE(ReadEnable)
		1= 読みだし可能
		0= 読みだし不可
	bit 5,4: WE,RE
	bit 3,2: WE,RE
	bit 1,0: WE,RE
		* bit 7,6と同じ
	----------------+-------+-------------------------------
	レジスタ	|ビット	|メモリ範囲
	----------------+-------+-------------------------------
	45h		|1,0	|0C0000〜0C3FFFh(拡張ROMエリア)
	45h		|3,2	|0C4000〜0C7FFFh(拡張ROMエリア)
	45h		|5,4	|0C8000〜0CBFFFh(拡張ROMエリア)
	45h		|7,6	|0CC000〜0CFFFFh(拡張ROMエリア)
	46h		|1,0	|0D0000〜0D3FFFh(拡張ROMエリア)
	46h		|3,2	|0D4000〜0D7FFFh(拡張ROMエリア)
	46h		|5,4	|0D8000〜0DBFFFh(拡張ROMエリア)
	46h		|7,6	|0DC000〜0DFFFFh(拡張ROMエリア)
	47h		|1,0	|0E0000〜0E3FFFh(VRAMエリア)
	47h		|3,2	|0E4000〜0E7FFFh(VRAMエリア)
	47h		|5,4	|0E8000〜0EBFFFh(BIOSエリア)
	47h		|7,6	|0EC000〜0EFFFFh(BIOSエリア)
	----------------+-------+-------------------------------
	bit 7,6または5,4または3,2または1,0に設定する組み合わせは以下のよう
	に行う。
	--------+-----------------------------------------------
	値	|動作
	--------+-----------------------------------------------
	11b	|読み書き可
	10b	|書き込み可,読み込み不可
	01b	|書き込み不可,読み込み可
	00b	|読み書き不可
	--------+-----------------------------------------------
解説  o 各レジスタに設定された特定のメモリエリアについて、メモリアクセスの
	動作を設定する。
PCI	48h
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜0: 不明
		* 初期化時に3Fhが設定される
解説  o 詳細不明
PCI	4Ch
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜2: 不明
	bit 1: 8,9バンク切り離し
		1= 切り離さない。
		0= 切り離す。
	bit 0: 不明
		* 初期化時に3Ehが設定される
解説  o 詳細不明
PCI	4Eh
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜0: 不明
		* 初期化時に03hが設定される
解説  o 詳細不明
PCI	40h,44h,48h,4Ch
名前	PCI-C BUS MEMORY REGION ADDRESS REGISTER
	Undocumented
対象	PC-9821Xa10・Xa9・Xa7・Xt13・Xa7e
機能
	[READ/WRITE]
	bit 31〜16: Memory Region Limit Addres
	bit 15〜0: Memory Region Base Address
	* PCI-Cバスブリッヂが、PCIからCバスへのアクセスとして応答するメモリ
	  領域のアドレスを登録する。64KB単位で設定を行うことができる。
	* PC-9800シリーズではこれらのレジスタには以下のような値が設定されて
	  いる。
	--------+-----------+-----------------------------------
	レジスタ|設定値     |メモリ範囲
	--------+-----------+-----------------------------------
	40h     |00EF0010h  |00100000〜00EFFFFF
	44h     |FFFBFFFAh  |FFFA0000〜FFFBFFFF
	48h     |FFFEFFFEh  |FFFE0000〜FFFEFFFF
	4Ch     |0000FFFFh  |無効
	--------+-----------+-----------------------------------
解説  o PCIからCバスへのアクセスとして応答するメモリ領域のアドレスを登録する。
PCI	50h,54h,58h,5Ch
名前	PCI-C BUS MEMORY REGION ADDRESS REGISTER
	Undocumented
対象	PC-9821Xt・Xa・Xf
機能
	[READ/WRITE]
	bit 31〜16: Memory Region Limit Addres
	bit 15〜0: Memory Region Base Address
	* PCI-Cバスブリッヂが、PCIからCバスへのアクセスとして応答するメモリ
	  領域のアドレスを登録する。64KB単位で設定を行うことができる。
	* PC-9800シリーズではこれらのレジスタには以下のような値が設定されて
	  いる。
	--------+-----------+-----------------------------------
	レジスタ|設定値     |メモリ範囲
	--------+-----------+-----------------------------------
	50h     |00EF0010h  |00100000〜00EFFFFF
	54h     |FFFBFFFAh  |FFFA0000〜FFFBFFFF
	58h     |FFFEFFFEh  |FFFE0000〜FFFEFFFF
	5Ch     |0000FFFFh  |無効
	--------+-----------+-----------------------------------
解説  o PCIからCバスへのアクセスとして応答するメモリ領域のアドレスを登録する。
PCI	50〜5Fh
名前	不明
	Undocumented
対象	PC-9821Xa10・Xa9・Xa7・Xt13・Xa7e・Na7・Nx
機能
	[READ/WRITE]
	bit 7: 割り込み切り離し
		1= 割り込みを使用しない
		0= 割り込みを使用する
	bit 6〜4: 未使用(常に000bにする)
	bit 3〜0: IRQライン
		0000b= IRQ0
		  :      :
		1111b= IRQ15
		* 各デバイスが使用するIRQラインを設定する。
		--------+----------------------------
		レジスタ|設定されるデバイス
		--------+----------------------------
		50h	|タイマ
			|
		--------+----------------------------
		51h	|キーボード
			|
		--------+----------------------------
		52h	|VSYNC
			|
		--------+----------------------------
		53h	|不明	
			|
		--------+----------------------------
		54h	|不明	
			|
		--------+----------------------------
		55h	|セカンダリシリアルポート
			|
			|
		--------+----------------------------
		56h	|不明	
			|
		--------+----------------------------
		57h	|不明	
			|
		--------+----------------------------
		58h	|不明	
			|
		--------+----------------------------
		59h	|IDE	
			|
			|
		--------+----------------------------
		5Ah	|FDC	
			|
		--------+----------------------------
		5Bh	|FDC	
			|
		--------+----------------------------
		5Ch	|サウンド	
			|
			|
		--------+----------------------------
		5Dh	|マウス		
			|
		--------+----------------------------
		5Eh	|不明		
			|
		--------+----------------------------
		5Fh	|不明		
			|
		--------+----------------------------
解説  o 各種マザーボードデバイスの使用する割り込みラインの定義を行う。
      o 通常はこの設定を変更しない。
PCI	60〜63h
名前	PIRQ ROUTE CONTROL REGISTERS
	Undocumented
機能
	[READ/WRITE]
	bit 7: Routing of Interrupts
		1= Disabled
		0= Enabled
	bit 6〜0: IRQx# Routing Bits
		000000b= IRQ0
		   :      :
		001111b= IRQ15
		010000b= 
		   :     Reserved
		111111b= 
	各レジスタで設定する割り込み信号線とスロット毎の対応は以下の通り
	である。
	--------+---------------+-------+-------+-------
	レジスタ|PCI割込信号線	|スロット#0	|スロット#1	|スロット#2
	--------+---------------+-------+-------+-------
	60h	|PIRQ0		|INTA	|INTD	|INTC
	61h	|PIRQ1		|INTB	|INTA	|INTD
	62h	|PIRQ2		|INTC	|INTB	|INTA
	63h	|PIRQ3		|INTD	|INTC	|INTB
	--------+---------------+-------+-------+-------
解説  o PCIバスからの割り込み要求PIRQ0〜3信号を、Cバス上の割り込みコントローラ
	のどの割り込みアドレスに割り付けるかそれぞれ設定する。
      u PC-9800シリーズでは、各PCIボードが出力する4チャネルの割り込み出力が、
	各スロットごとに別の信号線に接続されるように配線されている。これは、
	割り込み出力ピンが固定であるPCIボードを複数枚同時に使用するためである。
関連	I/O 0000h
	I/O 0002h
	I/O 0008h
	I/O 000Ah
PCI	68h
名前	不明
	Undocumented
対象	PC-9821Na7・Nx
機能
	[READ/WRITE]
	bit 31〜20: 不明
	bit 19: 不明
		1= サウンド機能を使用する
		0= サウンド機能を使用しない
	bit 18〜0: 不明
解説  o 詳細不明
関連	I/O 881Eh bit 5
-------------------------------------------------------------------------------
===============================================================================
■PCI-ローカルバスブリッジ
ベンダID	1033h(NEC)
デバイスID	0002h
ベースクラス	06h(ブリッヂデバイス)
サブクラス	80h(PCI-ローカルバスブリッヂ)
-------------------------------------------------------------------------------
PCI	40h
名前	16MBシステム空間
	Undocumented
機能
	[READ/WRITE]
	bit 7〜2: 未使用
	bit 1: 16MBシステム空間の用途
		1= 通常のRAM
		0= 16MBシステム空間として使用
	bit 0: 未使用
解説  o 16MBシステム空間の用途をローカルバスブリッヂ回路に登録する。
      o 詳細不明
関連	I/O 043Bh
	PCMC 78h
PCI	44h
名前	不明
	Undocumented
機能
	[READ/WRITE]
	bit 7〜1: 未使用
	bit 0: 不明
解説   o 詳細不明
関連	
-------------------------------------------------------------------------------